#***********************************************************************************************************
# * 《深入Linux设备驱动程序内核机制》-- 陈学松 著，电子工业出版社， 2012年1月第1次印刷
# * 
# * Kernel module makefile
# * Date: 2024-04-17 10:51
# * Author: dimon.chen 
# *
# *
# ***********************************************************************************************************/


##指定内核源码目录
KERNEL_DIR ?= /lib/modules/$(shell uname -r)/build

##模块名称
obj-m += my_hello.o


##如果模块有多个源文件，列出模块依赖的源文件的列表
##格式为:
##      <module_name>-y := xxx.o xxx.o xxx.o 
##
##
my_hello-y := f_2_1_kmalloc_vmalloc.o

##kbuild支持同时编译两个模块，格式如下
# obj-m := a.o b.o
# a-y := a.c
# b-y := b.c

obj-m += my_alloc.o
my_alloc-y := f_2_1_alloc_pages.o



##kbuild同时支持编译多个模块
obj-m += my_kmem_cache.o
my_kmem_cache-y = f_2_1_kmem_cache.o


##kbuild同时支持编译多个模块
obj-m += my_percpu.o
my_percpu-y = f_2_1_percpu_.o

##编译模块
all:
	make -C $(KERNEL_DIR) M=$(shell pwd) modules


##清理编译生成的文件
clean:
	make -C $(KERNEL_DIR) M=$(shell pwd) clean
